#ifndef __CPPTUTORSTLMAP_H__
#define __CPPTUTORSTLMAP_H__

#include <map>
#include <string>
#include <ostream>
#include <iostream>

#include "cppTutorGlobals.h" // search for macro definition

class CcppTutorSTLMap { 
    private:
        std :: map <int, std :: string> weekdays;
        std :: map <int, std :: string> weekdays_copy;
        std :: map <int, std :: string> :: iterator weekdays_it;
        std :: map <int, std :: string> :: iterator weekdays_copy_it;
        bool m_bReturnStatus;
        int m_nTemp, m_nKey;
        std :: string m_strWeekDay;
        
    protected:
    #ifdef  STL_MAP_CREATE
        bool m_CreateWeekDays ();
    #endif //STL_MAP_CREATE
    #ifdef  STL_MAP_DISPLAY
        bool m_DisplayWeekDays ();
    #endif //STL_MAP_DISPLAY
    #ifdef STL_MAP_ERASE
        bool m_eraseWeekdays ();
    #endif //STL_MAP_ERASE
    #ifdef STL_MAP_INSERT
        bool m_insertWeekdays ();
    #endif //STL_MAP_INSERT
    #ifdef STL_MAP_COUNT
        bool m_countWeekdays ();
    #endif //STL_MAP_COUNT
    #ifdef STL_MAP_OPERATOR_EQUAL
        bool m_operatorEqualWeekdays ();
    #endif //STL_MAP_OPERATOR_EQUAL
    #ifdef STL_MAP_SWAP
        bool m_swapWeekdays ();
    #endif //STL_MAP_SWAP
    
    public:
        CcppTutorSTLMap ();
       ~CcppTutorSTLMap ();
  
        bool m_mapDemo (); 
};

#endif //__CPPTUTORSTLMAP_H__
